package j11;

public class J11_SungJuk_v4 {

	public static void main(String[] args) {
		//객체지향 기법을 이용해서 성적처리 프로그램 작성

		J11SungJuk sj = new J11SungJuk();
		sj.name = "지현";
		sj.kor = 89;
		sj.eng = 77;
		sj.mat = 64; //초기화가 불편하기 때문에 생성자를 이용할 것!
		sj = new J11SungJuk("수지",89,77,64);
		
		
		System.out.println(sj.name);
		System.out.println(sj.kor);
		System.out.println(sj.eng);
		System.out.println(sj.mat);
		System.out.println(sj.getTotal());
		System.out.println(sj.getAverage());
		sj.getGrade(); //void메서드 호출!!
		 
		System.out.println(sj.grd); //주의
		
		
	} //main

} //class

// 성적 데이터 : 이름, 국어, 영어, 수학, 총점, 평균,학점
// 성적 메서드 : 총점구하기, 평균구하기, 학점구하기
//			  결과 출력하기
	class J11SungJuk {
		String name;
		int kor;
		int eng;
		int mat;
		int tot;
		double avg;
		char grd;
		
		public J11SungJuk() { } //기본 생성자
		public J11SungJuk(String name, int kor,int eng, int mat){
			this.name = name;
			this.kor = kor;
			this.eng = eng;
			this.mat = mat;
			//this 접두사는 클래스의 멤버변수를 가리킨다.
			//만일 기본생성자 없이 사용자 정의 생성자만 만든다면?
		} //사용자 정의 생성자
			//메서드 정의
		int getTotal() {
			tot = kor+eng+mat;
			return tot;
		}
		double getAverage() {
//			int imsi =getTotal();
//			avg = imsi/3;
			avg = getTotal()/3;
			return avg;
		}
		void getGrade() {
			switch((int)getAverage()) {
			case 10: case 9: grd = '수'; break;
			default : grd='가';
		}
	
		}
			
	}//메서드의 반환값 유형을 결과값의 종류에 따라 지정
	
	